package com.example.controller;

import com.example.Dto.EmpDto;
import com.example.Dto.EmpDto1;
import com.example.aspect.vo.empVo;
import com.example.entity.Emp;
import com.example.result.Result;
import com.example.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


/**
 * 员工管理
 */
@RestController
@RequestMapping("/emp")
@Slf4j

public class empController {
    @Autowired
    private EmpService empService;

    /**
     * 员工登录接口
     * @param empDto
     * @return
     */
    @PostMapping("/login_h2_16")
    public Result<empVo> login_h2_16(@RequestBody EmpDto empDto){

        Emp emp = empService.login_h2_16(empDto);
        if(emp==null){
            return Result.error("账号不存在");
        }
        if(!emp.getPassword().equals(empDto.getPassword())){
            return Result.error("密码错误");
        }
        empVo empvo = empVo.builder()
                .empid_h2_16(emp.getEmpidH216())
                .build();
        return Result.success(empvo);

    }

    /**
     * 员工注册接口
     * @param empDto1
     * @return
     */
    @PostMapping("/regiter_h2_16")
    public Result regiter_h2_16(@RequestBody EmpDto1 empDto1){
        //只携带账号
        EmpDto empDto2 = EmpDto.builder()
                .empidH216(empDto1.getEmpidH216())
                .build();
        //查看账号是否存在
        Emp emp1 = empService.login_h2_16(empDto2);
        if(emp1!=null){
            return Result.error("账号已存在");
        }
        //只携带用户名，查看用户名是否重复
        EmpDto empDto3 = EmpDto.builder()
                .name(empDto1.getName())
                .build();
        Emp emp2 = empService.login_h2_16(empDto3);
        if(emp2!=null){
            return Result.error("名字已存在");
        }
//        Emp emp = Emp.builder()
//                .empidH216(empDto1.getEmpidH216())
//                .name(empDto1.getName())
//                .password(empDto1.getPassword())
//                .post(empDto1.post)
//                .build();
        empService.regiter_h2_16(empDto1);
        return Result.success();
    }
}
